/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package gra;

import gra.Input.Input;
import gra.Renderer.Renderer;
import gra.mechanika.Mechanika;
import java.io.IOException;
import java.util.logging.Level;
import java.util.logging.Logger;
import net.java.games.input.Keyboard;
import org.lwjgl.LWJGLException;
import org.lwjgl.util.Timer;


/**
 *
 * @author Grog
 */
public class Gra {

   private static Renderer renderer;
   private static Input input;
   private static  Mechanika mechanik;
  // public static Timer t = new Timer();
   
   
   
   //służy do okreslania czy gra zostala zakonczona czy nie
   private static boolean zakonczona = false;
  
    public static void main(String[] args) throws IOException {   
        //gra = new Gra();
        init();
        run();
        posprzataj();
    }
    
   
    
    
    //główna pętla gry
    private static void run() throws IOException{
    
        //pętla gry
        while(!zakonczona){
           
            
            input.przechwycZdarzenie();   
           
            
            mechanik.update(); 
            
               
            renderer.wyswietl();       
        }
        
        
    }
    
    
    private static void init(){
        //TODO inicjalizacja obrazu i dźwięku              
       
        //init Renderer
         renderer = new Renderer();
         // init Mechanika
         mechanik = new Mechanika(renderer);
         //init Input 
         input = new Input(renderer, mechanik);
         
         
         renderer.ustawMechanike(mechanik);
         
    }
      
     private static void mechanika() {
         //renderer.ListaOBJ = mechanik.ListaOBJ;
         
       
     }
    
   
    public static void posprzataj(){
    //zamknij wszystko co trzeba ,zapisz ustawienia i dane wymagajace zapisu
    
        mechanik.zakoncz();
        renderer.zakoncz();
        System.exit(0);
    }

    
       
}
